home *** CD-ROM | disk | FTP | other *** search
/ Mac100% 1998 November / MAC100-1998-11.ISO.7z / MAC100-1998-11.ISO / オンラインソフト定点観測 / ユーティリティ / Mops 3.2.sea / Mops 3.2 / Quick Edit ƒ / Quick Edit 2.7 ReadMe < prev    next >
Text File  |  1996-03-24  |  31KB  |  635 lines

  1.  ¥ 24Mar96 DBH
  2.  
  3. IMPORTANT TIP ABOUT READING THIS FILE:  While holding down the ctrl key, click
  4. the mouse anywhere in the window and a popup menu will appear.  The popup menu
  5. is an index into this ReadMe file.  By selecting from the menu you can quickly
  6. jump to various parts of this file.  You must, of course, be using Quick Edit
  7. to read this file.
  8.  
  9.  
  10.  
  11.  
  12. This information has been updated for version 2.7
  13.  
  14. :class WHATハTHISハIS ****
  15.  
  16. Quick Edit (QE) is a programmer's source code editor intended for use with
  17. Mops, Michael's Object Oriented Programming System, and System 7. Typed Mops
  18. commands can be executed directly from an editor window, thus  avoiding
  19. copy-switch-paste.  
  20.  
  21. Also included are a set of text files that comprise a Subject Sorted 
  22. Glossary for Mops definitions.
  23.  
  24.  
  25. :class NEWハFORハVERSIONハ2.7 ****
  26.  
  27. :m Console  A QE window can now become a front end for Mops.  All textual input
  28. *and* output is performed completely from within QE.  First, the file
  29. "QEconsole", provided with this release, must be loaded into Mops.  Then, by
  30. toggling the menu item Edit/Console, you can declare the current QE window to
  31. be a console window.  The word "Console" will appear in the lower left corner
  32. of the window.  Other windows will be unaffected.  I strongly suggest that you
  33. try this.  More details are provided later in this file.
  34.  
  35. :m Menus  The bad news is that QE menus are significantly changed along with
  36. the command-key equivalents.  The good news is that the menu arrangement is now
  37. more logical *and* all menus are now resource based.  So you can easily change
  38. any of the command-key equivalents to your liking.  Of course if you are using
  39. a utility like Now Menus, then changing command-keys is a trivial task.  Note
  40. that command-keys 1 through 9 are reserved for the first 9 open windows under
  41. the Window menu.
  42.  
  43. :m WindowハMenus  Selecting an open window via the Window menu is as before with
  44. the addition of command-keys 1 through 9 being used for the first 9 open
  45. windows.
  46.  
  47. :m Glossary The Mops Glossary and Subject Glossary files have been updated for
  48. Mops 2.7.
  49.  
  50. :m EasierハBrowsing  Summoning the Glossary, looking up the source code for a
  51. definition and opening a Mops source file from QE can now be done in yet
  52. another, but more convenient, way.  Invoking the menu commands with nothing
  53. selected will now cause the word to the immediate left to be the input word (as
  54. if it were selected prior to the menu command).  For example, let's say you
  55. wished to open the file 'Class' in QE while you are running QE and Mops.  You
  56. could now type the word class and press command-E without having to first
  57. highlight the word class.  Same thing for glossary entries and Open Source
  58. lookups.  The old way still works, but this is quicker and easier.  You can
  59. also place the I-beam in the middle of a word and invoke the menu command - the
  60. whole word will also be selected in this case.
  61.  
  62. :m ImprovedハFolderハSearch   Before, when doing a folder search (from the
  63. Text/Find... dialog), the current window would "change" into other windows as
  64. the search progressed and of course the original file was closed whether you
  65. wanted it closed or not.  For QE 2.7 we have a new behavior where a new window
  66. is always created for folder searching and any windows that were already open,
  67. including the original window, will remain open.  You will probably agree that
  68. this is a much improved behavior.
  69.  
  70. ・ (This isn't new, but I don't think it was explained very well before)
  71. Particularly convenient is the ability to quickly "browse" Mops definitions and
  72. source files from within Quick Edit.  By selecting a Mops word or Mops source
  73. file name, you can have the file containing the definition of that Mops word,
  74. or simply the named file, opened into QE with the menu commands
  75. Mops/OpenハSource and Mops/EditハFile.  If you do not highlight a word, then the
  76. first word to the left of the cursor will will be used as the lookup word or
  77. file name.  I highly recommend that you try this.  Note that it is not
  78. necessary for a file to be loaded in order to summon it via Edit File, but the
  79. file must be in the path specified by your Mops.paths file.  Also note that
  80. module source files can be opened by just selecting the module name, you do not
  81. have to select the actual module source file name which will have ".txt"
  82. appended, although you still could.  The reason for this is that in the source
  83. code module names do not have the .txt suffix, but their source files do.
  84.  So this is simply a convenience.  Again, Mops must also be running under
  85. System 7 for this to work.
  86.  
  87. Note that the first occurrence of a word in a file or window (any word, not
  88. necessarily a definition) can be located by option-doubleclicking on that word.
  89.  The first *prior* occurrence can be found by commandKey-doubleclicking on the
  90. word.  The next occurrence can be found by option-commandKey-doubleclicking. 
  91. These are all shortcuts to the Find... dialog, which is the more conventional
  92. way of finding words in a file.  Note that by also holding down the shift key
  93. when invoking the Find... dialog or by invoking Find Same from the menu will
  94. cause the search to start at the beginning of the file instead of the current
  95. cursor location.
  96.  
  97.  
  98. :m PopupハBrowser  As before, holding down the ctrl key while clicking the mouse
  99. anywhere in the window will cause a popup menu to appear.  The popup is an
  100. index into any class and method definitions in the current window.  New for QE
  101. 2.7 is a similar popup for normal Forth colon definitions.  Press
  102. ctrl-option-click to summon it.  By selecting from the menu you can quickly
  103. jump to various parts of the file.
  104.  
  105. :m Printing now just prints whatever is in the current window/file rather than
  106. invoking the standard file open dialog.  This is a more standard behavior.
  107.  
  108. :m NormalハPrinting  After receiving comments, it became clear that a normal
  109. sized printing function should be included without having to fuss with the
  110. resources.  So selecting File/Print... will yield a Monaco 9 "large type"
  111. print.  Also, the 2 different forms of miniprinting are now directly available
  112. from the File menu. MiniPrint(1 col)... will yield a 1 column monospaced print
  113. that is fairly condensed.  MiniPrint(2 col)... will yield a 2 column
  114. proportionally spaced print that is the most condensed.
  115.  
  116. :m Printハjobs will now have the file name properly set (helpful if inspecting
  117. for your job status via the PrintManager).
  118.  
  119. :m CustomハSubjectハMenu  The Subject Glossary now has its own menu.  The menu
  120. items are the file names of the corresponding files in the Subject Glossary
  121. folder.  You can customize this menu simply by adding or deleting to the menu
  122. resource of QE.  If you add new file names to the subject menu then you must
  123. also provide the file with the *same* name in the Subject Glossary folder. 
  124. Alphabetic order is not a requirement.  You must not rename or move the Subject
  125. Glossary folder
  126.  
  127. :m FileハWordWrap   You can now wordwrap an entire file instantly with the
  128. Text/WrapハFile... menu command.  You can also "unwrap" an entire file with the
  129. Text/UnwrapハFile command.  You may wish to unwrap a file so you can copy and
  130. paste into a word processor that provides conventional "soft" wrapping of text.
  131.  
  132. :m DetabハFile  You can now convert all tabs in a file to spaces with the
  133. Text/DetabハFile menu command.  This will be convenient when, for example,
  134. pasting QE text into another text processor that does not recognize tabs.
  135.  
  136. :m MagicハCopy   What??   Well, I couldn't think of another name for this.  If
  137. you hold the mouse I-beam over a word (don't click there) and invoke Copy via
  138. command-C, then that word will be pasted at the current cursor location.  But
  139. only if nothing was selected.   I find this to be handy when constructing
  140. definitions comprised of long words that are also nearby (a common situation).
  141. This is much quicker and easier than double-clicking, copying, repositioning
  142. the cursor, and finally pasting.  Besides, all a copy would do before, if
  143. nothing was selected that is, was beep.  Surely we must have something more
  144. useful than that...
  145.  
  146. :m PageハID...  There is now an option to use up to 5 characters as an
  147. additional "ID" for a file.  Use the Edit/Page ID... menu command.  The ID will
  148. appear in the lower left of the window and will be saved with the file.  You
  149. may wonder "What is this for?", which is a valid question.  I use this as an
  150. aid to manage printouts of large projects that consist of many files.  For
  151. example, one could assign numbers, perhaps 10, 20, 30, and so on to each file. 
  152. Individual files may require more than one page to print, but the ID numbering
  153. system is a way to keep things in order without having to reprint everything
  154. when only one file has been changed.  This is somewhat reminiscent of the old
  155. Forth blocks files "triad" printing technique.  The MacForth source code for
  156. QE now consists of over 100 files.  I find it useful to organize them this way.
  157.  The page ID will print in the lower right of each printed page.  Normal page
  158. numbering within the file is as always.
  159.  
  160. ・ Fixed some window repositioning bugs and some wordwrap bugs.
  161.  
  162. :class WHATハYOUハNEEDハTOハUSEハQUICKハEDIT ****
  163.  
  164. 1) System 7.x
  165.  
  166. 2) Mops (Michael's Object Oriented Programming System version 2.7).
  167.  
  168. 3) The provided Mops Glossary file.
  169.  
  170. 4) I strongly recommend that you also use (load) the provided file "QEconsole"
  171. and turn on the Edit/Console feature for at least one of your open QE windows.
  172.  
  173.  
  174. Actually, 1) and 2) are not absolutely required as Quick Edit will function
  175. quite well as a stand-alone text processor without System 7 or Mops.  In that
  176. case you don't need 3) or 4) either.
  177.  
  178.  
  179. :class HOWハTOハUSEハQUICKハEDIT ****
  180.  
  181. 1) Launch both Mops and Quick Edit.
  182.  
  183. 2) Change your Mops.paths file to include any folders that you wish to contain
  184. Mops source code.  If you are unsure about how to do this, just save any newly
  185. created Mops source code (files you create with QE) in the folder Mopsト for
  186. now.
  187.  
  188. 3) Load the provided file, QEconsole, into Mops.  Save your new Mops dictionary
  189. as, e.g., MopsQE.dic  (this step is not necessary, but is recommended).
  190.  
  191. 4) Now you should be able to execute typed Mops instructions from a QE window
  192. as if you were typing into the Mops window and any textual output, including
  193. stack items, will appear in your QE console window instead of the Mops console
  194. window.  See the Console feature.  Remember that you must use the enter key,
  195. not the return key, to execute commands.  
  196.  
  197.  
  198. :class CONSOLE
  199.  
  200. :m Howハtoハuse   Note, you must first load the file "QEconsole" into Mops.  Then
  201. toggle the menu item Edit/Console on.  The console attribute only applies to
  202. the window that was active, and will be saved with the file.  
  203.  
  204. :m >ハprompt  After pressing enter from a console window you will get a ">"
  205. prompt from Mops, followed by any stack items that may be present.  For
  206. example:
  207.  
  208. 3 4 <enter>
  209. >3 4 
  210.  
  211. You can still enter Mops commands from non-console windows, but any output will
  212. appear in the Mops console instead of the current QE window.  This behavior is
  213. desirable for source code files that you don't want to become "littered" with
  214. output from Mops.  Of course, you can declare any window or file in QE to be a
  215. console window if you wish.  I typically leave my source code windows as
  216. non-console, and have one untitled window as a console.
  217.  
  218. You must still switch over to Mops in order to perform user interface actions. 
  219. But I think you will find that a QE console window can greatly enhance your
  220. development productivity because all of the QE programmer support features are
  221. immediately available:  Glossary, Open Source, Edit File, Save&Load, etc.
  222.  
  223. If you get an error message, such as when trying to execute an undefined Mops
  224. word, you may see something like the following:
  225.  
  226. foo <enter>
  227.  
  228. undefined word
  229. >QECONS foo
  230.            ^
  231. Don't worry about the presence of >QECONS ( or NEWVECS ).  These commands are
  232. being sent by QE to Mops each time an AppleEvent is sent.  The purpose is to
  233. reset the Mops output vecs each time because Mops does not know what kind of QE
  234. window, console or non-console, is currently in use.  See the file "QEconsole"
  235. for exact details of what is going on if you are interested.
  236.  
  237.  
  238. :class MOPSハGLOSSARY ****
  239.  
  240. ***IMPORTANT***
  241. You must keep the file "Mops Glossary" in the same folder as Quick Edit.
  242.  
  243. While using QE it is possible to summon the glossary to look up a definition in
  244. either of 2 ways.  First, you may highlight a word in a QE window and then
  245. invoke the Mops/Glossary menu command (or command-Y).  If you do not highlight
  246. a word, then the first word to the left of the cursor will will be used as the
  247. search word.  Or, if you simply placed the cursor in the middle of a word, then
  248. that word will be used.  If found in the glossary, the word and its definition
  249. will appear in a special window.  A second way to use the glossary is to just
  250. invoke the Mops/Glossary menu command and then begin typing the word that you
  251. wish to look up.  MacForth users will recognize this as the Online Glossary
  252. feature from the Sibley Editor.
  253.  
  254. If no QE window is open, then the Glossary feature will be unavailable.
  255.  
  256. You may copy text from the Glossary.   For each definition in the Glossary we
  257. have the stack effect immediately to the right of the name.  Further to the
  258. right, on the same line, we have the Subject Name and File Name (the name of
  259. the Mops file that contains the source code for the word) in
  260. SubjectName/FileName format.
  261.  
  262. We have included a file, Stack Notation, to define the stack effect
  263. notation used here.
  264.  
  265. For most subjects we have a Subject Glossary file in the folder Subject 
  266. Glossary.  In these files you will find all related words grouped together 
  267. in a logical manner by function, rather than by ASCII order.  I find
  268. that printing all of the Subject Glossary files and placing them in a
  269. hole-punch binder with index tabs is an excellent way to keep a quick
  270. reference.  You can also print the ASCII sorted glossary if you want, it's just
  271. a text file, but it is really intended for interactive use within QE.   From
  272. the Glossary you can obtain the source file name, see where the source file is
  273. located from the Mops File Index, and then open the source file to see the
  274. actual definition.  Note that one can now easily open the source for already
  275. compiled code simply by highlighting a word in QE and invoking the Mops/Open
  276. Source menu command (command-=), as long as Mops itself is also running.  
  277. You may delete and add to the glossary yourself, but only if you open
  278. the file "Mops Glossary" as a normal edit file, not as it is opened
  279. as the QE glossary window.  Added definitions MUST be in ASCII order
  280. and begin in the first column on a new line.  Only definition names may
  281. begin in the first column.
  282.  
  283. :class BROWSINGハMOPSハDEFINITIONS AND FILES ****
  284.  
  285. Particularly convenient is the ability to quickly "browse" Mops definitions and
  286. source files from within Quick Edit.  By selecting a Mops word or Mops source
  287. file name, you can have the file containing the definition of that Mops word,
  288. or simply the named file, opened into QE with the menu commands
  289. Mops/OpenハSource and Mops/EditハFile.  If you do not highlight a word, then the
  290. first word to the left of the cursor will will be used as the lookup word or
  291. file name.  I highly recommend that you try this, I use it all the time.  Note
  292. that it is not necessary for a file to be loaded in order to summon it via Edit
  293. File, but the file must be in the path specified by your Mops.paths file.  Also
  294. note that module source files can be opened by just selecting the module name,
  295. you do not have to select the actual module source file name which will have
  296. ".txt" appended, although you still could.
  297.  
  298. Not all Mops definitions can be browsed this way.  Definitions that occur prior
  299. to a file lookup utility, such as all Nucleus definitions (in source files
  300. Nuc1.asm, Nuc2.asm, etc.), cannot be looked up with the Mops/Open Source
  301. command.  In fact, an attempt to do so will result in no response at all.  If
  302. this happens to you, you should next try invoking the Mops/Glossary command and
  303. you should see the definition of the word there (and the Glossary definition
  304. will confirm that this is a nucleus definition).
  305.  
  306. :class SUBJECTハGLOSSARY ****
  307.  
  308.  ***IMPORTANT***
  309. You must keep the folder "Subject Glossary" in the same folder as Quick Edit.
  310.  
  311. We have included a set of normal text files that comprise a "Subject Sorted 
  312. Glossary".  The purpose of these files is to allow the programmer to quickly
  313. review the available word set for a given category of words.  This avoids 
  314. having to read the entire Glossary (which is ascii sorted) in order to find
  315. out what is available.
  316.  
  317. You can directly open any of these files via menu access to the Subject 
  318. (sorted) Glossary.  Under the Mops menu.  
  319.  
  320. :class TIPS ****
  321.  
  322. Change the file Mops.paths to include the directory that your QE files are in
  323. and you will be able to use the QE menu commands Loadノ and Save&Load
  324.  
  325. Save&Load is probably the most used command for me.  My typical Mops
  326. programming session goes like this:
  327.  
  328. ・ Launch both Mops and QE
  329. ・ Open or create a source code file, don't declare it as a QE console.
  330.   Actually, you can declare your source file as a console, but when you
  331.   do a Save&Load your window will then become "littered" with file loading
  332.   messages and so forth.  If you place an "ENDLOAD" at the end of you file
  333.   and then make sure to jump the cursor to the end of the file (e.g. command
  334.   option downarrow), then the litter will cause no problems.
  335. ・ Invoke Save&Load  (command-K), any compilation errors will cause the
  336.   QE window to scroll to the first occurrence of the offending code.  I can
  337.   then edit the mistake and Save&Load again.  This is *very* quick and also offers
  338.   the added protection of saving code to disk before any fatal crashes could occur.
  339. ・ Interactive testing of small snippets of code are usually done in a QE console window.
  340. ・ With a console window, I typically don't even bother to arrange the windows so that
  341.   I can also see the Mops console window.  There is no need.
  342. ・ But with a non-console window I typically keep all of the QE windows in "right half" mode,
  343.   easy to do with the Window/Right Half or Window/All Windows->Right commands.  This way
  344.   I can still execute commands from QE, or use Load... or Save&Load, and see the resulting
  345.   output in Mops (which is visible on the left side of my screen).
  346. ・ I frequently use the Glossary, source code browser, Edit File command, and popup browser
  347.   in my Mops programming sessions.
  348.  
  349. Position both the Mops window and your current QE window so both are visible,
  350. unless you are using a QE console window where it is not necessary to see the
  351. Mops console window.
  352.  
  353. Pressing enter will execute either just the selected range, or if there
  354. is no selection the entire line will be executed.  Multiple lines or an
  355. entire file may be executed this way.
  356.  
  357. Pressing enter will normally advance the cursor to the end of the next
  358. line.  Hold down the option key to keep the cursor on the same line.
  359.  
  360.  
  361. :class ABOUTハQUICKハEDIT ****
  362.  
  363. Quick Edit is written in MacForth and is, for the large part, the 
  364. MacForth text editor, or Sibley Editor, with extensions to use Apple Events 
  365. for Mops communication.  I also added my favorite tweaks to the editor. 
  366. Actually, especially now with version 2.7, the source code for QE is bearing
  367. less and less resemblance to MacForth.  For example, thanks to MacForth's
  368. separated headers and flexible vocabulary management, I have been able to
  369. rename even MacForth kernel words.  The Basic text engine is MacForth's, as is
  370. a lot of the difficult file handling stuff.  Kudos to the guys that created
  371. this stuff which include Dave Sibley, Ward McFarland, Xan Gregg, and a few
  372. others.
  373.  
  374. You MacForthers may be interested in knowing that Quick Edit duals as my
  375. MacForth programming environment (as a snapshot, not a turnkey).  No surprise. 
  376. There is a global switch that is used to change from QE-as-Mops-editor to
  377. QE-as-MacForth.  All of the programmer's assist features are available in
  378. either mode and behave the same in either mode, except in a different context. 
  379. In fact, with the new console feature it is easy to forget which environment
  380. one is using (so I keep a bold "M" or "Q" in the lower left of each window as a
  381. reminder, during development only).
  382.  
  383. QE behaves mostly in the standard Macintosh manner and so should be fairly easy
  384. to learn.
  385.  
  386. MacForth users will of course feel pretty much at home except for a few
  387. exceptions that are explained later.  
  388.  
  389. I wrote QE as a tool to make it easier for me to use Mops.  If one
  390. has a desire to explore Forth object oriented programming ( FOOP?
  391. Forth++? ), then a look at Mops is a must.  You will likely find that you
  392. will soon stop exploring and begin writing useful code at a very high
  393. level of productivity.
  394.  
  395.  
  396.  Doug Hoffman 
  397.  Compuserve  72310,1743
  398.  
  399.  565 Countryside Lane
  400.  Oakland, Michigan  48363-1401
  401.  USA
  402.  
  403.  
  404.  
  405.  
  406. :class DETAILSハOFハUSINGハQUICKハEDIT ****
  407.  
  408. :m #ofWindows Up to 20 files (windows) can be open at the same time.  The open
  409. QE file names will appear under the Windows menu and will be preceded by
  410. bullets if the files have unsaved changes.
  411.  
  412. :m SearchハShortcuts There are several useful text search shortcuts that bypass
  413. the Find... dialog. Option-Doubleclick on a word to find the first occurrence.
  414. A subsequent Command-G (Find Same) will then find the next occurrence. Any time
  415. a search fails a simple beep will be issued and the cursor will remain where it
  416. last was.  Command-Doubleclick on a word to do a backwards  search (i.e.
  417. attempt to find the first prior occurrence).  Option- Command-Doubleclick on a
  418. word to find the next occurrence.
  419.  
  420. If the Text Search dialog is summoned (via Command-F or the menu) any
  421. highlighted text will automatically become the "Search for" parameter.  If
  422. no text was highlighted then the prior "Search for" text will remain.
  423.  
  424. All searches begin at the current selection point and end at the end of
  425. the file.  If the Text Search dialog is used one can also search all
  426. files in the same directory as the open file.  Holding down the shift
  427. key when either summoning the Text Search dialog or doing a Find Same
  428. (Command-G) will cause the search to be initiated from the beginning of
  429. the file.
  430.  
  431. :m Command-` (Enter Search$) will enter the hilited text as the search string
  432. without summoning the Text Search dialog.  This is useful for "loading" some
  433. text to search for in one window and then moving to another  window to do the
  434. search.  A Command-Shift-G will start the search at the beginning of the file. 
  435. This can be handy.  Command-Shift-F will  also start the search at the
  436. beginning of the file, but will summon the Text Search dialog.
  437.  
  438. A Popup menu is available that will list all classes and their methods
  439. for the current window.  A ctrl-click in a QE window that contains Mops source
  440. code will yield the menu.  The menu selection will cause a jump to the source
  441. code for the class or method.  Ctrl-option-click will give a popup just for
  442. colon definitions.
  443.  
  444. :m JumpMarks Up to 10 "bookmarks" or jumpmarks can be set by pressing
  445. Command-Shift-J followed by a number (0 through 9).  Note that after invoking
  446. the menu item nothing else can happen until you press a key.  If you don't
  447. press a number key then QE will simply "beep" at you indicating that no
  448. bookmark was set.  One then jumps to these bookmarks by pressing  Command-J
  449. followed by pressing the corresponding single digit number key.  Again, nothing
  450. else can happen until you press a key.  After pressing Command-J, you can
  451. optionally press B, E, or L, to jump to the file Begining, End, or Last
  452. position prior to the last jump.
  453.  
  454. Modifier keys for cursor movement works as follows:
  455.  
  456. Option left/right        move cursor one word
  457. Option up/down            move one line
  458. Command left/right        move to beginning or end of line
  459. Command up/down            move to beginning or end of screen or prev/next screen
  460. Command-Option up/down    move to beginning or end of file
  461. Option-Delete            delete previous word
  462. Command-Backspace        delete to beginning of file
  463. Command-Delete            delete to end of file
  464.  
  465.  
  466.  
  467. :m MiniPrint...  is intended for use only with high resolution printers having 
  468. scalable fonts such as LaserWriters or the StyleWriter.  MiniPrinting 
  469. will print in a very small Helvetica font and allow for a paper savings 
  470. of 3-4 to 1 in most cases.  I find this useful for printing drafts
  471. and reducing the quantity of paper used.
  472.  
  473. If the printed page seems wrong, try using the Page Setup...  command and
  474. select portrait orientation at 100% scale.
  475.  
  476. :m SmartScrap Note that cutting and pasting will normally delete and add extra
  477. spaces as necessary in a fashion similar to WriteNow.  This feature is only
  478. activated  after text is hilited via a doubleclick and is then cut or copied.
  479.  Text  that is hilited via shift-extension or singleclick-drag will be cut
  480. and pasted in the normal fashion (i.e. no extra spaces will be automatically
  481. added).
  482.  
  483. :m AutoIndent Also note that indents via tabs or spaces will be repeated on
  484. subsequent lines upon return unless the option key is pressed.  Auto-Indent is
  485. toggled from the menu.
  486.  
  487. :m WordハDelimiters  In most word processors characters such as a period (.) are
  488. treated as a word delimiter.  So doubleclicking something like " this.word " in
  489. most word  processors will only hilite this or word, depending upon where you
  490. first clicked.  Also, in most word processors a whole word search on " this "
  491. will hit on " this.word " and other compounds of " .this.  ".  Since Forth does
  492. not treat a period as a delimiter, I have chosen to have Quick Edit do
  493. likewise.  So a period, and other normal word delimiters are *not* delimiters
  494. in QE.  This behavior may be different from what you are used to.
  495.  
  496. The Mops menu contains a few handy Mops commands that will clear the stack or
  497. the Mops window.
  498.  
  499. A multiple line indent/unindent command is also available in the Text menu.
  500.  
  501.  
  502. :class DYNAMICハWORDハWRAP ****
  503.  
  504. I must be quite honest here and explain that QE's dynamic wordwrap feature is
  505. still somewhat "under development".  The implementation in QE 2.6 was pretty
  506. buggy and in retrospect should not have been included.  Dynamic wordwrap in 2.7
  507. is improved but as yet imperfect.  It seems to work best for paragraphs that
  508. are not too long (say 10 lines or less).  Beyond that it does not always work
  509. perfectly (but the imperfections are benign).
  510.  
  511. Also, I should warn that this feature takes a little getting used to.  It is
  512. best to leave it turned off unless you know that you are editing a paragraph
  513. that you want to wrap.  If you forget that it is turned on and you start to
  514. edit some source code you will probably be surprised and annoyed by the
  515. behavior.  However, when used judiciously the dynamic wordwrap can be a useful
  516. feature because you can just type and edit your thoughts without regard to the
  517. current line length.
  518.  
  519. Note that wrapping the selection or entire file should not cause any problems
  520. for you (those are much easier tasks), so use those commands without concern.
  521.  
  522. When activated, word wrap will occur as expected, with a couple of unique
  523. characteristics.  One important difference in the way QE wraps text, compared
  524. to conventional word processors, is that carriage returns are still maintained
  525. at the end of each line.  This is done in order to remain compatible with the
  526. programming source code files as they are expected by most programming
  527. languages, including of course Mops.  Another advantage is that QE can remain
  528. very fast while still providing a word wrap function.  If you take a look at
  529. other text processors that word wrap you will notice a considerable slowing
  530. when wrap is turned on for files of any significant size.  QE does not slow
  531. down at all!
  532.  
  533. Note that QE's word wrap does much more than simply insert a CR
  534. automatically as you type.  QE will look at the paragraph in which the
  535. cursor resides and perform wrapping on the entire paragraph, and only that
  536. paragraph, automatically as you type.  So there is the second important
  537. difference from the norm in QE's word wrap.  Word wrapping will *only*
  538. occur in the current paragraph ( a paragraph in QE is any text that is
  539. delimited by blank lines).  This means that you could turn on word wrap in
  540. the middle of some source code with very long lines and your typed text
  541. would be wrapped while not affecting the rest of the file.  Be careful
  542. though, because if you forget that wordwrap is activated and start typing
  543. in some long source code lines, then those lines will get split up and a
  544. simple undo is not available (although a File/Revert... is a good way to
  545. recover from this if necessary).  WordWrap is activated through the AutoWrap
  546. menu command under the Text menu.  A bold "W" is also placed at the lower left
  547. of the window as a reminder.  WordWrap only applies to files that you specify. 
  548. WordWrap activation and length is saved with each file.  You set the wrap
  549. length with the Text/Set AutoWrap... menu command.
  550.  
  551.  
  552. :class FONTS/PRINTING ****
  553.  
  554. You can cancel a print job that is spooling by pressing command-. 
  555. (command-period), even though there is no dialog indicating as such.
  556.  
  557.  
  558. The window and printer font IDs and font sizes are now resources (QEF1) and so
  559. can be changed to suit.  You must use a resource editor.  I know this isn't 
  560. very Mac-like, but it was easy to implement (and we're all programmers  here,
  561. right?).  
  562.  
  563. The QEF1 resources affect things as follows:
  564.  
  565. RESOURCE ID        AFFECTS                        DEFAULT VALUE
  566.  
  567. 1                window font    ID                $00C8    Modified Monaco (MUST be mono-spaced)
  568. 2                window font size            $0009
  569.  
  570. 3                miniprint(2col) font ID        $0015    Helvetica 4 miniprint font size            $0007
  571.  
  572. 7                miniprint(1col) font ID        $0016    Courier
  573. 8                option mini font size        $0007
  574.  
  575. Note that the window font MUST be mono-spaced.  But this is not a requirement 
  576. for the miniprint fonts.  In fact, the Helvetica default miniprint font, which 
  577. is proportionally spaced, is used to allow two columns per page due to the 
  578. relatively high character linear density.  
  579.  
  580. We use a proper programmer's screen font that clearly distinguishes  
  581. characters that are ambiguous with the Monaco font.
  582.  
  583. All miniprinting will yield approximately 104 lines per column (standard
  584. 81/2 x 11 inch paper) on most printers.  Note that the page numbers shown
  585. in the box upon mouse hits on the  vertical thumb scroll control don't
  586. necessarily correspond to the number of printed pages because printing will
  587. always wrap long lines.
  588.  
  589.  
  590.  
  591.  
  592. :class OTHERハFEATURES ****
  593.  
  594. :m EditハFile Mops/Edit File (command-E) menu command.  Hilite the name of a
  595. file and then invoke this menu command.  Or simply type the file name and
  596. invoke the menu (the text to the left of the cursor will be automatically
  597. selected).  The file will be opened.  Also works for module filenames without
  598. having to first append ".txt".
  599.  
  600. ・ There is now an "AllWindows->Right" Windows menu command.  Useful for getting all
  601.   open editor windows off to one side so the Mops window can be viewed while still
  602.   in Quick Edit.
  603.  
  604.  
  605.  
  606.  
  607. :class PACKINGハLIST ****
  608.  
  609. The following is a list of all files that should be present in the  Quick Edit
  610. release set that includes the Quick Edit application:
  611.  
  612. Quick Edit 2.7 ReadMe
  613.  
  614. Mops Glossary
  615.  
  616. QEconsole
  617.  
  618. Stack Notation
  619.  
  620. Subject Glossary  (a folder)
  621.     Arithmetic
  622.     Compiler
  623.     Console
  624.     Control Structures
  625.     Events
  626.     Floating Point
  627.     Memory
  628.     OOP
  629.     QuickDraw
  630.     Stack
  631.     Strings
  632.     System
  633.     Toolbox 
  634.     
  635.